﻿using System.Threading.Tasks;

namespace LL2025.Ini.Lib
{
    public static class Commons
    {
        /// <summary>
        /// 更新配置文件，如果配置文件与传入对象不一致，则更新配置文件并返回true，否则返回false。
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="o"></param>
        /// <returns></returns>
        public static async Task<bool> UpdateConfig<T>(this object o) where T : new()
        {

            var d1 = Config.ReaderConfig<T>(o);
            if (!Config.AreEqual(d1, o))
            {
                return await Config.CreateUpdateConfigAsync(o);
            }
            return false;
        }
    }
}